home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
EnigmA Amiga Run 1995 October
/
EnigmA AMIGA RUN 01 (1995)(G.R. Edizioni)(IT)[!][issue 1995-10][Aminet 7].iso
/
Aminet
/
util
/
wb
/
pchctl12.lha
/
PatchControl
/
PatchControl.dok
< prev
next >
Wrap
Text File
|
1995-05-15
|
4KB
|
100 lines
____ _____
o______ / _ /__ ____________\ _|______ ________ ____________ o
:\___ \ //___)\ __/ _ \ _ \_ __// __/___)\ __/_ _ \:
::/ \ \ / _\ \ _)_ \ \ \ | _)_\____ \ \/ \ _\ \ \
:/ _\ \ // \\ / \/ / \ | / \ _/ // \\ _\ // / /
/_________\ /____\_____\ //:\____|_______\____/____\____/_/ //:
o--/_______/---- - --/___/--- ----- -- - --- ---- -- ----/___/-o
PRÄSENTIERT
PatchControl V1.2
(C) Copyright 1994-1995 by ALiENDESiGN
Einleitung:
----------
Kennst Du das Problem: Ein Programm kann nicht entfernt werden, weil es seine
Patches nicht entfernen kann ( z.b. wenn man mit MCP-Preferences die Konfig
speichert). Dieses Programm behebt dieses Problem mit den SystemPatches. Alle
Programme können nun ihre Patches entfernen. PatchControl ist kompatibel zu
SetMan.
Unterschiede zwischen Setman und PatchControl:
---------------------------------------------
Ohne Setman oder PatchControl kann nur das letzte Programm entfernt werden,
daß einen Vector gepatcht hat. Alle Programme die Setman ( wie MCP ) unter-
stützen können immer entfernt werden. Aber andere Programme ( wie Snoopy oder
Enforcer), die nicht Setman unterstützen, können niemals entfernt werden.
PatchControl behebt dieses Problem.
Installation:
------------
Starte PatchControl gleich nach dem SetPatch in der Startup-Sequence.
z.b.:
C:SetPatch QUIET
C:PatchControl
.... alle anderen Aufrufe folgen hier
Benutzung:
----------
Nach PatchContol kann man Task-namen angeben, die ihre Patches vor allen
anderen einfügen sollen. Diese Option ist sehr wichtig für ARQ oder ähnliche
Programme. Man kann dann ARQ irrgentwann starten und nicht unbedingt vor
dem MCP. Hier ein Beispiel für ARQ:
C:PatchControl ARQ
Groß-klein-Schreibung wird nicht unterschieden und Wildcards werden
unterstützt.
für Programmierer:
-----------------
Es ist sehr einfach zu benutzen. Rufe die Funktion FindPort("SetMan") auf.
Wenn der "SetMan"-Port existiert, entferne die Patches ( mit SetFunktion() )
ohne sie zuvor zu kontrollieren. PatchControl macht den Rest.
Developers: (Viruskiller-Programmierer)
----------
Du kannst eine Liste aller Patches wie folgt bekommen:
Rufe FindPort() "Setman" auf und lies folgendes aus:
MP_SIGTASK APTR ( im alten Setman = 0 )
Im SIGTASK ( genannt PatchControl ) lies TC_USERDATA aus. Dies ist ein Zei-
ger auf die PatchList.
Patchlist:
APTR LibraryBase
ULONG Offset
APTR PatchNode ;First Node
APTR LibraryBase
ULONG Offset
APTR PatchNode
. ;Hier folgen weitere Strukturen
. ;Mit einer Null in APTR Library endet die Liste.
.
PatchNode:
APTR Next_Node ;Offset 00
APTR Previous_Node ;Offset 04
JMP Next_Program ;Offset 08 Addresse des nächsten Programms
APTR Program ;Offset 14 Programm für diese Node
APTR TaskName ;Offset 18 der Task-Name von diesem Programm
LABEL PatchNode_SizeOf
Autor:
-----
Stefan "zerocom" Sommerfeld
Kaulbachstr. 3
14612 Falkensee
Deutschland
Telefon: +49-[0]3322-202452
EMail: zerocom@cs.tu-berlin.de
oder rufe folgende Support-BBS an: eViL moOn! +49-[0]3322-208768 (2400-28800)